/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package verins.beans;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author hectdx
 */
@Entity
@Table(name = "partidopoliticoxprocesoelectoral", schema = "verinscribe")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Partidopoliticoxprocesoelectoral.findAll", query = "SELECT p FROM Partidopoliticoxprocesoelectoral p"),
    @NamedQuery(name = "Partidopoliticoxprocesoelectoral.findByIdpartidopolitico", query = "SELECT p FROM Partidopoliticoxprocesoelectoral p WHERE p.partidopoliticoxprocesoelectoralPK.idpartidopolitico = :idpartidopolitico"),
    @NamedQuery(name = "Partidopoliticoxprocesoelectoral.findByIdprocesoelectoral", query = "SELECT p FROM Partidopoliticoxprocesoelectoral p WHERE p.partidopoliticoxprocesoelectoralPK.idprocesoelectoral = :idprocesoelectoral"),
    @NamedQuery(name = "Partidopoliticoxprocesoelectoral.findByEstadoinscrip", query = "SELECT p FROM Partidopoliticoxprocesoelectoral p WHERE p.estadoinscrip = :estadoinscrip")})
public class Partidopoliticoxprocesoelectoral implements Serializable {
    @Column(name = "fechainscrip")
    @Temporal(TemporalType.DATE)
    private Date fechainscrip;
    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected PartidopoliticoxprocesoelectoralPK partidopoliticoxprocesoelectoralPK;
    @Column(name = "estadoinscrip", length = 20)
    private String estadoinscrip;
    @JoinColumn(name = "idprocesoelectoral", referencedColumnName = "idprocesoelectoral", nullable = false, insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private Procesoelectoral procesoelectoral;
    @JoinColumn(name = "idpartidopolitico", referencedColumnName = "idpartidopolitico", nullable = false, insertable = false, updatable = false)
    @ManyToOne(optional = false)
    private Partidopolitico partidopolitico;

    public Partidopoliticoxprocesoelectoral() {
    }

    public Partidopoliticoxprocesoelectoral(PartidopoliticoxprocesoelectoralPK partidopoliticoxprocesoelectoralPK) {
        this.partidopoliticoxprocesoelectoralPK = partidopoliticoxprocesoelectoralPK;
    }

    public Partidopoliticoxprocesoelectoral(int idpartidopolitico, int idprocesoelectoral) {
        this.partidopoliticoxprocesoelectoralPK = new PartidopoliticoxprocesoelectoralPK(idpartidopolitico, idprocesoelectoral);
    }

    public PartidopoliticoxprocesoelectoralPK getPartidopoliticoxprocesoelectoralPK() {
        return partidopoliticoxprocesoelectoralPK;
    }

    public void setPartidopoliticoxprocesoelectoralPK(PartidopoliticoxprocesoelectoralPK partidopoliticoxprocesoelectoralPK) {
        this.partidopoliticoxprocesoelectoralPK = partidopoliticoxprocesoelectoralPK;
    }

    public String getEstadoinscrip() {
        return estadoinscrip;
    }

    public void setEstadoinscrip(String estadoinscrip) {
        this.estadoinscrip = estadoinscrip;
    }

    public Procesoelectoral getProcesoelectoral() {
        return procesoelectoral;
    }

    public void setProcesoelectoral(Procesoelectoral procesoelectoral) {
        this.procesoelectoral = procesoelectoral;
    }

    public Partidopolitico getPartidopolitico() {
        return partidopolitico;
    }

    public void setPartidopolitico(Partidopolitico partidopolitico) {
        this.partidopolitico = partidopolitico;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (partidopoliticoxprocesoelectoralPK != null ? partidopoliticoxprocesoelectoralPK.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Partidopoliticoxprocesoelectoral)) {
            return false;
        }
        Partidopoliticoxprocesoelectoral other = (Partidopoliticoxprocesoelectoral) object;
        if ((this.partidopoliticoxprocesoelectoralPK == null && other.partidopoliticoxprocesoelectoralPK != null) || (this.partidopoliticoxprocesoelectoralPK != null && !this.partidopoliticoxprocesoelectoralPK.equals(other.partidopoliticoxprocesoelectoralPK))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return partidopolitico.getNombre();
    }

    public Date getFechainscrip() {
        return fechainscrip;
    }

    public void setFechainscrip(Date fechainscrip) {
        this.fechainscrip = fechainscrip;
    }
    
}
